package com.winning.java.common;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;

import java.io.Console;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

/**
 * @author: rqx
 * @create: 2023/6/5 9:58
 * @description:
 */
@Slf4j
public class Main {

    @Test
    public void StringBuilderTest() {
        StringBuilder sb = new StringBuilder();
        sb.append("abc");
        sb.append("def\n");
        sb.append(String.format("12%s345", "666"));

        log.info(sb.toString());
    }


    @Test
    public void DictionaryTest() {
        Map<String, Integer> dic = new HashMap<>();
        dic.put("1H", 1);
        dic.put("2H", 2);
        dic.put("3H", 3);
        dic.put("4H", 4);
        dic.put("5H", 5);

        log.info("result:{}", dic.get("3H"));
    }

    @Test
    public void EnumTest() {
        var str = "Cat";
        var type = Enum.valueOf(Animal.class, str);
        switch (type) {
            case Cat:
            case Dog:
                type.info();
                break;
            default:
                break;
        }
    }

    @Test
    public void BigDecimalTest() {
        var decimal = new BigDecimal("12311111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +
                "111111111111111111111111111111111111111111111111111111111111321");
        var result = decimal.add(BigDecimal.valueOf(2L));
        log.info("result:{}", result);
    }


}
